Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

744
Visualizações
Discord solo reconoce el comando "ping" en discord.js

En mi bot Discord.JS, tengo varios comandos configurados ( ping , beep , etc.) pero Discord solo reconoce "ping". He probado varias configuraciones y todas son iguales.

Aquí está mi código:

 const { Client, Intents } = require('discord.js'); const { token } = require('./config.json'); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); client.once('ready', () => { console.log('Ready!'); }); client.on('interactionCreate', async interaction => { if (!interaction.isCommand()) return; const { commandName: command } = interaction; if (command === 'ping') { await interaction.reply('Pong!'); } else if (command === 'beep') { await interaction.reply('Boop!'); } else if (command === 'server') { await interaction.reply(`Server name: ${interaction.guild.name}\nTotal members: ${interaction.guild.memberCount}`); } else if (command === 'user-info') { await interaction.reply(`Your username: ${interaction.user.username}\nYour ID: ${interaction.user.id}`); } }); client.login(token);

Y aquí está la vista de comandos de Discords cuando se ingresa "/"

Vista de comandos de Discords

Como puede ver, ping es lo único que reconoce discord.

También vale la pena señalar que el comando 'ping' tiene una descripción que configuré en la descripción original, por lo que parece que el problema es que Discord no actualiza los comandos cada vez que cambia el script. Pero, no sé cómo resolver ese problema.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Parece que solo registró el comando ping. Tienes que registrar cada comando de barra de forma individual.

Supongo que registró el comando slash en algún mosaico antes y no lo ha eliminado desde entonces. Solo está respondiendo en su ejemplo de código a los comandos de barra, pero debe crearlos de primera mano. Consulta aquí cómo hacerlo.

Puede tomar hasta una hora registrar un comando global, así que tenga paciencia. Si está bien, con comandos de barra para un solo gremio, también puede crear solo comandos de gremio . Estos están en funcionamiento en minutos de vista (menos de 10 minutos como máximo)


Aquí hay un comando simple, con el que puede actualizar los comandos de barra (esto es directamente de los documentos )

 client.on('messageCreate', async message => { if (!client.application?.owner) await client.application?.fetch(); if (message.content.toLowerCase() === '!deploy' && message.author.id === client.application?.owner.id) { const data = [ { name: 'ping', description: 'Replies with Pong!', }, { name: 'pong', description: 'Replies with Ping!', }, ]; const commands = await client.application?.commands.set(data); console.log(commands); } });

NOTA: debe ejecutar la rama maestra de discord.js (también conocido como Discord.js V13 ). Si aún no lo ha instalado, puede instalarlo ejecutando: npm install discord.js@latest . Asegúrese de haber desinstalado la dependencia discord.js "normal" de antemano, ejecutando npm uninstall discord.js .

Si no está seguro de qué versión tiene instalada actualmente, simplemente ejecute npm list

over 4 years ago · Santiago Trujillo Relatório

0

Esto funcionó para mí, la idea es representar cada comando por separado.

También busqué algunas configuraciones codificadas: guild_id y client_id (para ganar algo de tiempo en el modo dev)

 const { Client, Collection, Intents } = require('discord.js'); const { token, client_id, guild_id } = require('./config.json'); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); client.once('ready', () => { console.log('Ready!'); }); client.on('messageCreate', async message => { if (!client.application?.owner) await client.application?.fetch(); // => client_id was just a quick fix, the correct value should be the id of the guild owner(s) if (message.content.toLowerCase() === '!deploy' && message.author.id === client_id) { const data = [ { name: 'ping', description: 'Replies with Pong!', }, { name: 'foo', description: 'Replies with bar!', }, { name: 'chicken', description: 'Replies with sticks!', }, ]; // same here, guild_id should also be replaced by the correct call to the idea number, just as client_id in this code! for (let i = 0; data.length > i; i++) { await client.guilds.cache.get(guild_id)?.commands.create(data[i]); } } }); client.on('interactionCreate', async interaction => { if (!interaction.isCommand()) return; const command = interaction.commandName; if (command === 'ping') { await interaction.reply('pong') } else if (command === 'foo') { await interaction.reply('bar') } else if (command === 'chicken') { await interaction.reply('nuggets') } }); client.login(token);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda